package com.ynet.middleground.user.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;

/**
 * @description: 自然人附属信息
 * @author: DaiGaoLe
 * @create: 2019-11-05
 **/
@Data
@ApiModel(value = "自然人附属信息", description = "自然人附属信息")
public class NaturalPersonBaseInformationDto implements Serializable {

    private static final long serialVersionUID = -1642899176210996280L;
    /**
     * 性别
     */
    @ApiModelProperty(value = "性别", notes = "性别")
    private String gender;

    /**
     * 本单位工作年限
     */
    @ApiModelProperty(value = "本单位工作年限", notes = "本单位工作年限")
    private String workingYears;

    /**
     * 单位地址
     */
    @ApiModelProperty(value = "单位地址", notes = "单位地址")
    private String unitAddress;

    /**
     * 单位名称
     */
    @ApiModelProperty(value = "单位名称", notes = "单位名称")
    private String entityName;

    /**
     * 单位性质
     */
    @ApiModelProperty(value = "单位性质", notes = "单位性质")
    private String unitNature;

    /**
     * 个人年收入
     */
    @ApiModelProperty(value = "个人年收入", notes = "个人年收入")
    private BigDecimal personalAnnualIncome;

    /**
     * 个人身份证明(影像资料)
     */
    @ApiModelProperty(value = "个人身份证明(影像资料)", notes = "个人身份证明(影像资料)")
    private String personalIdentificationUrl;

    /**
     * 工资发放日
     */
    @ApiModelProperty(value = "工资发放日", notes = "工资发放日")
    private String payDay;

    /**
     * 婚姻状况
     */
    @ApiModelProperty(value = "婚姻状况", notes = "婚姻状况")
    private String maritalStatus;

    /**
     * 家庭住址
     */
    @ApiModelProperty(value = "家庭住址", notes = "家庭住址")
    private String homeAddress;

    /**
     * 居住状况
     */
    @ApiModelProperty(value = "居住状况", notes = "居住状况")
    private String livingConditions;

    /**
     * 民族
     */
    @ApiModelProperty(value = "民族", notes = "民族")
    private String nation;

    /**
     * 配偶姓名
     */
    @ApiModelProperty(value = "配偶姓名", notes = "配偶姓名")
    private String spouseName;

    /**
     * 配偶证件类型
     */
    @ApiModelProperty(value = "配偶证件类型", notes = "配偶证件类型")
    private String spouseCertificateType;

    /**
     * 配偶证件号码
     */
    @ApiModelProperty(value = "配偶证件号码", notes = "配偶证件号码")
    private String spouseCertificateNo;

    /**
     * 配偶手机号码
     */
    @ApiModelProperty(value = "配偶手机号码", notes = "配偶手机号码")
    private String spouseTelephone;

    /**
     * 收入来源
     */
    @ApiModelProperty(value = "收入来源", notes = "收入来源")
    private String incomeSource;

    /**
     * 银行卡信息(影像资料)
     */
    @ApiModelProperty(value = "银行卡信息(影像资料)", notes = "银行卡信息(影像资料)")
    private String bankCardInfoUrl;

    /**
     * 银行开户行
     */
    @ApiModelProperty(value = "银行开户行", notes = "银行开户行")
    private String bankOpenBank;

    /**
     * 银行账号
     */
    @ApiModelProperty(value = "银行账号", notes = "银行账号")
    private String bankAccount;

    /**
     * 证书类型
     */
    @ApiModelProperty(value = "证书类型", notes = "证书类型")
    private String certificatesforType;

    /**
     * 职业
     */
    @ApiModelProperty(value = "职业", notes = "职业")
    private String occupation;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间", notes = "创建时间")
    private LocalDateTime gmtCreate;

    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人", notes = "创建人")
    private Integer createBy;

    /**
     * 修改时间
     */
    @ApiModelProperty(value = "修改时间", notes = "修改时间")
    private LocalDateTime gmtModified;

    /**
     * 修改人
     */
    @ApiModelProperty(value = "修改人", notes = "修改人")
    private Integer modifiedBy;

    /**
     * 锁定标志0:正常1:锁定
     */
    @ApiModelProperty(value = "锁定标志0:正常1:锁定，这是自然人的锁定标志", notes = "锁定标志0:正常1:锁定，这是自然人的锁定标志")
    private String isUnlock;
    
    /**
     * 锁定该用户的渠道
     */
    @ApiModelProperty(value = "锁定该用户的渠道", notes = "锁定该用户的渠道")
    private String channelUnlockState;

    @ApiModelProperty(value = "客商云平台系统编号", notes = "客商云平台系统编号")
    private String platformId;

    //所属业态公司id
    @ApiModelProperty(value = "所属业态公司id", notes = "所属业态公司id")
    private String authorizedFormats;

    //锁定业态公司id
    @ApiModelProperty(value = "锁定业态公司id", notes = "锁定业态公司id")
    private Integer formatUnlockState;
}
